package com.ruoyi.system.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 项目费用视图对象 kfn_project_cost
 *
 * @author Panda
 * @date 2023-12-21
 */
@Data
@ExcelIgnoreUnannotated
public class KfnProjectCostVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 项目费用id
     */
    @ExcelProperty(value = "项目费用id")
    private Long projectCostId;

    /**
     * 收入/支出
     */
    @ExcelProperty(value = "收入/支出", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "project_project_cost_type")
    private String projectCostType;

    /**
     * 费用类别（吃饭，送礼物）
     */
    @ExcelProperty(value = "费用类别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "project_project_cost_category")
    private String projectCostCategory;

    /**
     * 谁支出/从哪收入
     */
    @ExcelProperty(value = "谁支出/从哪收入")
    private String projectCostFromUser;

    /**
     * 费用时间
     */
    @ExcelProperty(value = "费用时间")
    private Date projectCostDate;

    /**
     * 费用金额
     */
    @ExcelProperty(value = "费用金额")
    private BigDecimal projectCostAmount;

    /**
     * 支出给谁/收入到哪
     */
    @ExcelProperty(value = "支出给谁/收入到哪")
    private String projectCostToUser;

    /**
     * 费用发生的详情
     */
    @ExcelProperty(value = "费用发生的详情")
    private String projectCostContent;

    /**
     * 关联的项目id
     */
    @ExcelProperty(value = "关联的项目id")
    private String projectId;

    /**
     * 关联的工单id（如果有）
     */
    @ExcelProperty(value = "关联的工单id", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "如=果有")
    private String workOrderId;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
